package com.nameli.admin.service;

import com.nameli.SIM.bean.entity.sys.SysPermission;
import com.nameli.SIM.util.routers.RouterNode;

import java.util.List;
import java.util.Set;

/**
 * @author NAME-L
 * @Description 权限菜单业务接口
 * @className SysPermissionService
 * @date 2022-01-10 17:17:09
 */
public interface SysMenuService {
    /**
     * 查询全部菜单
     *
     * @return 菜单列表
     */
    List<SysPermission> selectMenuTreeAll();

    /**
     * 根据用户ID查询菜单
     *
     * @param userId 用户ID
     * @return 菜单列表
     */
    List<SysPermission> selectMenuTreeByUserId(Long userId);

    List<RouterNode<SysPermission>> selectTreeAll();

    List<RouterNode<SysPermission>> selectTreeByUserId(Long userId);

    /**
     * 根据用户ID查询权限
     * @param userId 用户ID
     * @return 权限列表
     */
    Set<String> selectMenuPermsByUserId(Long userId);
}
